Method and apparatus for receiving plurality of data signals

ABSTRACT

A transmitter site transmits a plurality of data signals over a shared spectrum in a code division multiple access communication system. Each transmitted data signal experiences a similar channel response. A combined signal of the transmitted data signals is received. The combined signal is sampled at a multiple of the chip rate. The channel response for the combined signal is determined. A first element of a spread data vector is determined using the combined signal samples and the estimated channel response. Using a factor from the first element determination, remaining elements of the spread data vector are determined. The data of the data signals is determined using the determined elements of the spread data vector.

This application is a continuation of U.S. patent application Ser. No.10/052,943, filed on Nov. 7, 2001, which claims priority to U.S.Provisional Patent Application No. 60/246,947, filed on Nov. 9, 2000,which applications are incorporated herein by reference.

BACKGROUND

The invention generally relates to wireless communication systems. Inparticular, the invention relates to data detection in a wirelesscommunication system.

FIG. 1 is an illustration of a wireless communication system 10. Thecommunication system 10 has base stations 12 ₁ to 12 ₅ (12) whichcommunicate with user equipments (UEs) 14 ₁ to 14 ₃ (14). Each basestation 12 has an associated operational area, where it communicateswith UEs 14 in its operational area.

In some communication systems, such as code division multiple access(CDMA) and time division duplex using code division multiple access(TDD/CDMA), multiple communications are sent over the same frequencyspectrum. These communications are differentiated by theirchannelization codes. To more efficiently use the frequency spectrum,TDD/CDMA communication systems use repeating frames divided into timeslots for communication. A communication sent in such a system will haveone or multiple associated codes and time slots assigned to it. The useof one code in one time slot is referred to as a resource unit.

Since multiple communications may be sent in the same frequency spectrumand at the same time, a receiver in such a system must distinguishbetween the multiple communications. One approach to detecting suchsignals is multiuser detection. In multiuser detection, signalsassociated with all the UEs 14, users, are detected simultaneously.Approaches for implementing multiuser detection include block linearequalization based joint detection (BLE-JD) using a Cholesky or anapproximate Cholesky decomposition. These approaches have a highcomplexity. The high complexity leads to increased power consumption,which at the UE 14 ₁ results in reduced battery life. Accordingly, it isdesirable to have alternate approaches to detecting received data.

SUMMARY

A code division multiple access user equipment is used in receiving aplurality of data signals over a shared spectrum. Each received datasignal experiences a similar channel response. A combined signal of thereceived data signals is received over the shared spectrum. The combinedsignal is sampled at a multiple of the chip rate. A channel response isestimated as a channel response matrix at the multiple of the chip rate.A padded version of a spread data vector of a size corresponding to themultiple chip rate using a column of the channel response matrix, theestimated channel response matrix, the samples and a fourier transform.The spread data vector is estimated by eliminating elements of thepadded version so that the estimated spread data vector is of a sizecorresponding to the chip rate.

BRIEF DESCRIPTION OF THE DRAWING(S)

FIG. 1 is a wireless communication system.

FIG. 2 is a simplified transmitter and a single user detection receiver.

FIG. 3 is an illustration of a communication burst.

FIG. 4 is a flow chart of an extended forward substitution approach tosingle user detection (SUD).

FIG. 5 is a flow chart of an approximate banded Cholesky approach toSUD.

FIG. 6 is a flow chart of a Toeplitz approach to SUD.

FIG. 7 is a flow chart of a fast fourier transform (FFT) approachapplied to the channel correlation matrix for SUD.

FIG. 8 is a flow chart of a FFT approach to SUD using effectivecombining.

FIG. 9 is a flow chart of a FFT approach to SUD using zero padding.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT(S)

FIG. 2 illustrates a simplified transmitter 26 and receiver 28 usingsingle user detection (SUD) in a TDD/CDMA communication system, althoughthe single user detection approaches are applicable to other systems,such as frequency division duplex (FDD) CDMA. In a typical system, atransmitter 26 is in each UE 14 and multiple transmitting circuits 26sending multiple communications are in each base station 12. The SUDreceiver 28 may be at a base station 12, UEs 14 or both. SUD istypically used to detect data in a single or multicode transmission froma particular transmitter. When all the signals are sent from the sametransmitter, each of the individual channel code signals in themulticode transmission experience the same channel impulse response. SUDis particularly useful in the downlink, where all transmissionsoriginate from a base station antenna or antenna array. It is alsouseful in the uplink, where a single user monopolizes a timeslot with asingle code or multicode transmission.

The transmitter 26 sends data over a wireless radio channel 30. A datagenerator 32 in the transmitter 26 generates data to be communicated tothe receiver 28. A modulation/spreading sequence insertion device 34spreads the data and makes the spread reference data time-multiplexedwith a midamble training sequence in the appropriate assigned time slotand codes for spreading the data, producing a communication burst orbursts.

A typical communication burst 16 has a midamble 20, a guard period 18and two data bursts 22, 24, as shown in FIG. 3. The midamble 20separates the two data fields 22, 24 and the guard period 18 separatesthe communication bursts to allow for the difference in arrival times ofbursts transmitted from different transmitters 26. The two data bursts22, 24 contain the communication burst's data.

The communication burst(s) are modulated by a modulator 36 to radiofrequency (RF). An antenna 38 radiates the RF signal through thewireless radio channel 30 to an antenna 40 of the receiver 28. The typeof modulation used for the transmitted communication can be any of thoseknown to those skilled in the art, such as quadrature phase shift keying(QPSK) or M-ary quadrature amplitude modulation (QAM).

The antenna 40 of the receiver 28 receives various radio frequencysignals. The received signals are demodulated by a demodulator 42 toproduce a baseband signal. The baseband signal is sampled by a samplingdevice 43, such as one or multiple analog to digital converters, at thechip rate or a multiple of the chip rate of the transmitted bursts. Thesamples are processed, such as by a channel estimation device 44 and aSUD device 46, in the time slot and with the appropriate codes assignedto the received bursts. The channel estimation device 44 uses themidamble training sequence component in the baseband samples to providechannel information, such as channel impulse responses. The channelimpulse responses can be viewed as a matrix, H. The channel informationis used by the SUD device 46 to estimate the transmitted data of thereceived communication bursts as soft symbols.

The SUD device 46 uses the channel information provided by the channelestimation device 44 and the known spreading codes used by thetransmitter 26 to estimate the data of the desired receivedcommunication burst(s). Although SUD is explained using the thirdgeneration partnership project (3GPP) universal terrestrial radio access(UTRA) TDD system as the underlying communication system, it isapplicable to other systems. That system is a direct sequence widebandCDMA (W-CDMA) system, where the uplink and downlink transmissions areconfined to mutually exclusive time slots.

The receiver 28 receives using its antenna 40 a total of K bursts thatarrive simultaneously, 48. The K bursts are superimposed on top of eachother in one observation interval. For the 3GPP UTRA TDD system, eachdata field of a time slot corresponds to one observation interval.

For one observation interval, the data detection problem is viewed asper Equation 1.r=H·d+n   Equation 1r is the received samples. H is the channel response matrix. d is thespread data vector. The spread data matrix contains the data transmittedin each channel mixed with that channel's spreading code.

When the received signal is oversampled, multiple samples of eachtransmitted chip are produced resulting in received vectors, r₁, . . . ,r_(N), (48). Similarly, the channel estimation device 44 determines thechannel responses, H₁, . . . , H_(N), corresponding to the receivedvectors, r₁, . . . , r_(N), (50). For twice the chip rate, Equation 1becomes Equation 2.

$\begin{matrix}{\begin{bmatrix}r_{1} \\r_{2}\end{bmatrix} = {{\begin{bmatrix}H_{1} \\H_{2}\end{bmatrix} \cdot d} + n}} & {{Equation}\mspace{20mu} 2}\end{matrix}$r₁ is the even samples (at the chip rate) and r₂ is the odd samples(offset half a chip from the r₁ samples). H₁ is the channel response forthe even samples and H₂ is the channel response for the odd samples.

Equation 1 becomes Equation 3 for a multiple N of the chip rate.

$\begin{matrix}{\begin{bmatrix}r_{1} \\r_{2} \\\vdots \\r_{N}\end{bmatrix} = {{\begin{bmatrix}H_{1} \\H_{2} \\\vdots \\H_{N}\end{bmatrix} \cdot d} + n}} & {{Equation}\mspace{20mu} 3}\end{matrix}$r₁,r₂ . . . r_(N) are the multiple of the chip rate samples. Each offsetby 1/N of a chip. H₁,H₂ . . . H_(N) are the corresponding channelresponses. Although the following discussion focuses on a receiversampling at twice the chip rate, the same approaches are applicable toany multiple of the chip rate.

For twice the chip rate sampling, matrices H₁ and H₂ are (N_(S)+W−1) byN_(S) in size. N_(S) is the number of spread chips transmitted in theobservation interval and W is the length of the channel impulseresponse, such as 57 chips in length. Since the received signal hasN_(S) spread chips, the length of r₁ and r₂ is N_(S). Equation 2 isrewritten as Equation 4.

$\begin{matrix}{\left. \begin{matrix}{r_{1}(0)} \\{r_{1}(1)} \\| \\{r_{1}\left( {W - 1} \right)} \\\; \\{r_{1}\left( {N_{S} - 1} \right)} \\\cdots \\\; \\{r_{2}(0)} \\{r_{2}(1)} \\| \\{r_{2}\left( {W - 1} \right)} \\\; \\{r_{2}\left( {N_{S} - 1} \right)}\end{matrix} \right\rbrack = {{\left\lbrack \begin{matrix}{h_{1}(0)} & 0 & 0 & \cdots & \cdots & \cdots & \cdots & \cdots \\{h_{1}(1)} & {h_{1}(0)} & 0 & \cdots & \; & \; & \; & \; \\| & | & \; & \; & \; & \; & \; & \; \\{h_{1}\left( {W - 1} \right)} & {h_{1}\left( {W - 2} \right)} & \cdots & \cdots & {h_{1}(1)} & {h_{1}(0)} & 0 & 0 \\| & | & \; & \; & | & | & | & | \\0 & 0 & \cdots & {h_{1}\left( {W - 1} \right)} & {h_{1}\left( {W - 2} \right)} & \cdots & {h_{1}(1)} & {h_{1}(0)} \\\cdots & \cdots & \cdots & \cdots & \cdots & \cdots & \cdots & \cdots \\{h_{2}(0)} & 0 & 0 & \cdots & \cdots & \cdots & \cdots & \cdots \\{h_{2}(1)} & {h_{2}(0)} & 0 & \cdots & \; & \; & \; & \; \\| & | & \; & \; & \; & \; & \; & \; \\{h_{2}\left( {W - 1} \right)} & {h_{2}\left( {W - 2} \right)} & \cdots & \cdots & {h_{2}(1)} & {h_{2}(0)} & 0 & 0 \\| & | & \; & \; & | & | & | & | \\0 & 0 & \cdots & {h_{2}\left( {W - 1} \right)} & {h_{2}\left( {W - 2} \right)} & \cdots & {h_{2}(1)} & {h_{2}(0)} \\\cdots & \cdots & \cdots & \cdots & \cdots & \cdots & \cdots & \cdots\end{matrix} \right\rbrack \cdot d} + n}} & {{Equation}\mspace{20mu} 4}\end{matrix}$r₁(i), r₂(i), h₁(i) and h₂(i) is the i^(th) element of the correspondingvector matrix r₁, r₂, H₁ and H₂, respectively.

One approach to determine the spread data vector is extended forwardsubstitution, which is explained in conjunction with FIG. 4. Forextended forward substitution, the received data vector is rearranged sothat each even sample is followed by its corresponding odd sample. Asimilar rearrangement is performed on the channel response matrix, asshown in Equation 5a.

$\begin{matrix}{\left. \begin{matrix}{r_{1}(0)} \\{r_{2}(0)} \\{r_{1}(1)} \\{r_{2}(1)} \\| \\{r_{1}\left( {W - 1} \right)} \\{r_{2}\left( {W - 1} \right)} \\| \\{r_{1}\left( {N_{S} - 1} \right)} \\{r_{2}\left( {N_{S} - 1} \right)}\end{matrix} \right\rbrack = {{\left\lbrack \begin{matrix}{h_{1}(0)} & 0 & 0 & \cdots & \mspace{11mu} & \; & \; & \; \\{h_{2}(0)} & 0 & 0 & \cdots & \; & \; & \; & \; \\{h_{1}(1)} & {h_{1}(0)} & 0 & \cdots & \; & \; & \; & \; \\{h_{2}(1)} & {h_{2}(0)} & 0 & \cdots & \; & \; & \; & \; \\| & | & | & \cdots & \; & \; & \; & \; \\{h_{1}\left( {W - 1} \right)} & {h_{1}\left( {W - 2} \right)} & \cdots & \cdots & {h_{1}(1)} & {h_{1}(0)} & 0 & 0 \\{h_{2}\left( {W - 1} \right)} & {h_{2}\left( {W - 2} \right)} & \cdots & \cdots & {h_{2}(1)} & {h_{2}(0)} & 0 & 0 \\| & | & \; & \; & | & | & | & | \\0 & 0 & \cdots & {h_{1}\left( {W - 1} \right)} & {h_{1}\left( {W - 2} \right)} & \cdots & {h_{1}(1)} & {h_{1}(0)} \\0 & 0 & \cdots & {h_{2}\left( {W - 1} \right)} & {h_{2}\left( {W - 1} \right)} & \cdots & {h_{2}(1)} & {h_{2}(0)}\end{matrix} \right\rbrack \cdot \left\lbrack \begin{matrix}{d(0)} \\{d(1)} \\| \\| \\{d\left( {N_{S} - 1} \right)}\end{matrix} \right\rbrack} + n}} & {{Equation}\mspace{20mu} 5a}\end{matrix}$

Similarly, for an N-multiple of the chip rate sampling, Equation 5b isthe arrangement.

$\begin{matrix}{\left\lbrack \begin{matrix}{r_{1}(0)} \\{r_{2}(0)} \\| \\{r_{N}(0)} \\{r_{1}(1)} \\{r_{2}(1)} \\| \\{r_{N}(1)} \\| \\{r_{1}\left( {N_{S} - 1} \right)} \\{r_{2}\left( {N_{S} - 1} \right)} \\| \\{r_{N}\left( {N_{S} - 1} \right)}\end{matrix} \right\rbrack = {{\left\lbrack \begin{matrix}{h_{1}(0)} & 0 & \cdots & 0 & 0 \\{h_{2}(0)} & 0 & \cdots & 0 & 0 \\| & | & \cdots & | & | \\{h_{N}(0)} & 0 & \cdots & 0 & 0 \\{h_{1}(1)} & {h_{1}(0)} & \cdots & 0 & 0 \\{h_{2}(1)} & {h_{2}(0)} & \cdots & 0 & 0 \\| & | & \cdots & | & | \\{h_{N}(1)} & {h_{N}(0)} & \cdots & 0 & 0 \\| & | & \cdots & | & | \\0 & 0 & \cdots & {h_{1}(1)} & {h_{1}(0)} \\0 & 0 & \cdots & {h_{2}(1)} & {h_{2}(0)} \\| & | & \cdots & | & | \\0 & 0 & \cdots & {h_{N}(1)} & {h_{N}(0)}\end{matrix} \right\rbrack.\left\lbrack \begin{matrix}{d(0)} \\{d(1)} \\| \\| \\{d\left( {N_{S} - 1} \right)}\end{matrix} \right\rbrack} + n}} & {{Equation}\mspace{20mu} 5b}\end{matrix}$d(i) is the i^(th) element of the spread data vector, d. The length ofthe spread data vector is N_(S). Using extended forward substitution,the zero-forcing solution to determine d(0),d^(0), is per Equations 6aand 7a, (52).

$\begin{matrix}{{\begin{bmatrix}{h_{1}(0)} \\{h_{2}(0)}\end{bmatrix} \cdot {d(0)}} = \begin{bmatrix}{r_{1}(0)} \\{r_{2}(0)}\end{bmatrix}} & {{Equation}\mspace{20mu} 6a} \\{{\hat{d\;}(0)} = {{\left\{ {\left\lbrack {{h_{1}(0)}{h_{2}(0)}} \right\rbrack\begin{bmatrix}{h_{1}(0)} \\{h_{2}(0)}\end{bmatrix}} \right\}^{- 1}\left\lbrack {{h_{1}(0)}{h_{2}(0)}} \right\rbrack}\begin{bmatrix}{r_{1}(0)} \\{r_{2}(0)}\end{bmatrix}}} & {{Equation}\mspace{20mu} 7a}\end{matrix}$

Equation 6a is the general formula for d(0). Equation 7a is the zeroforcing solution for d^(0). Similarly, for N-multiple of the chip rate,Equations 6b and 7b are used.

$\begin{matrix}{{\begin{bmatrix}{h_{1}(0)} \\{h_{2}(0)} \\| \\{h_{N}(0)}\end{bmatrix}{d(0)}} = \begin{bmatrix}{r_{1}(0)} \\{r_{2}(0)} \\| \\{r_{N}(0)}\end{bmatrix}} & {{Equation}\mspace{20mu} 6b} \\{{\hat{d}(0)} = {{\left\{ {\left\lbrack {{h_{1}(0)}\mspace{14mu}\ldots\mspace{14mu}{h_{N}(0)}} \right\rbrack\begin{bmatrix}{h_{1}(0)} \\\vdots \\{h_{N}(0)}\end{bmatrix}} \right\}^{- 1}\left\lbrack {{h_{1}(0)}\mspace{14mu}\ldots\mspace{14mu}{h_{N}(0)}} \right\rbrack}\begin{bmatrix}{r_{1}(0)} \\\vdots \\{r_{N}(0)}\end{bmatrix}}} & {{Equation}\mspace{20mu} 7b}\end{matrix}$

In solving Equation 7a and 7b, for later use v^(H) is determined asillustrated by Equation 8 for the v^(H) for Equation 7a and stored,(52).

$\begin{matrix}{v^{H} = {\left\{ {\left\lbrack {{h_{1}(0)}{h_{2}(0)}} \right\rbrack\begin{bmatrix}{h_{1}(0)} \\{h_{2}(0)}\end{bmatrix}} \right\}^{- 1}\left\lbrack {{h_{1}(0)}{h_{2}(0)}} \right\rbrack}} & {{Equation}\mspace{20mu} 8}\end{matrix}$d^(0) is determined using v^(H) per Equation 9.

$\begin{matrix}{{d\hat{\;}(0)} = {v^{H}\begin{bmatrix}{r_{1}(0)} \\{r_{2}(0)}\end{bmatrix}}} & {{Equation}\mspace{20mu} 9}\end{matrix}$

Using the Toplitz structure of the H matrix, the remaining spread dataelements can be determined sequentially using zero forcing per Equation10a, (54).

                                Equation  10a${d^{\hat{}}(i)} = {v^{H}\left\{ {\begin{bmatrix}{r_{1}(i)} \\{r_{2}(i)}\end{bmatrix} - {\begin{bmatrix}{h_{1}(i)} \\{h_{2}(i)}\end{bmatrix}{d^{\hat{}}(0)}} + {\underset{j = 1}{\sum\limits^{i - 1}}{{- \begin{bmatrix}{h_{1}(j)} \\{h_{2}(j)}\end{bmatrix}}{d^{\hat{}}\left( {i - j - 1} \right)}}}} \right\}}$

For an N-multiple of the chip rate, Equation 10b is used.

                                Equation  10 b $\begin{matrix}{{d^{\hat{}}(i)} = {v^{H}\left\{ {\begin{bmatrix}\begin{matrix}{r_{1}(i)} \\|\end{matrix} \\{r_{N}(i)}\end{bmatrix} - {\begin{bmatrix}\begin{matrix}{h_{1}(i)} \\|\end{matrix} \\{h_{N}(i)}\end{bmatrix}{\hat{d}(0)}} - {\sum\limits_{j = 1}^{i - 1}{\begin{bmatrix}\begin{matrix}{h_{1}(j)} \\|\end{matrix} \\{h_{N}(j)}\end{bmatrix} \cdot {d\left( {i - j - 1} \right)}}}} \right.}} & \;\end{matrix}$

After the spread data vector is determined, each communication burst'sdata is determined by despreading, such as by mixing the spread datavector with each burst's code, (56).

The complexity in using the extended forward substitution approach,excluding despreading, is summarized in Table 1.

TABLE 1 Calculating v^(H) 4 multiplications & 1 reciprocal Calculatingd{circumflex over ( )}(0) 2 multiplications Calculating d{circumflexover ( )}(1) 4 multiplications Calculating each up to 2 multiplicationsd{circumflex over ( )}(W − 1) Calculating each d{circumflex over ( )}(i)from 2W + 2 multiplications d{circumflex over ( )}(w) to d{circumflexover ( )}(N_(S) − 1) Total Number of Multiplications 2N_(S) + (W − 1) ·W + 2W . . . (N_(S) − W + 1) Total Number of Calculations 2N_(S) + (W− 1) · W + 2W . . . (N_(S) − W + 1) + 5

For a TDD burst type II, N_(S) is 1104 and W is 57, solving for d usingextended forward substitution 200 times per second requires 99.9016million real operations per second (MROPS) for twice the chip ratesampling or 49.95 MROPs for chip rate sampling.

Another approach to estimate data is an approximate banded Choleskyapproach, which is explained in conjunction with FIG. 5. A crosscorrelation matrix R is determined so that it is square, (N_(S) byN_(S)), and banded per Equation 11, (58).R=H^(H)H  Equation 11(·)^(H) indicates the hermetian function. H is of size 2(N_(S)+W−1) byN_(S). Equation 11 is rewritten as Equation 12a for twice the chip ratesampling.

$\begin{matrix}{R = {{\left\lbrack {H_{1}^{H}H_{2}^{H}} \right\rbrack \cdot \begin{bmatrix}{H\; 1} \\{H\; 2}\end{bmatrix}} = {{H_{1}^{H}H_{1}} + {H_{2}^{H}H_{2}}}}} & {{Equation}\mspace{20mu} 12a}\end{matrix}$

For an N-multiple of the chip rate, Equation 12b is used.

$\begin{matrix}{{R = {\left\lbrack {H_{1}^{H},{H_{2}^{H}\mspace{14mu}\cdots\mspace{14mu} H_{N}^{H}}} \right\rbrack\begin{bmatrix}\begin{matrix}\begin{matrix}H_{1} \\H_{2}\end{matrix} \\|\end{matrix} \\H_{N}\end{bmatrix}}}{or}{R = {\sum\limits_{i = 1}^{N}{H_{i}^{H}H_{i}}}}} & {{Equation}\mspace{20mu} 12b}\end{matrix}$

Using Equation 12a or 12b, the resulting R is of size N_(S) by N_(S) andbanded as illustrated in Equation 13 for twice the chip rate sampling,W=3 and N_(S)=10.

$\begin{matrix}{R = \begin{bmatrix}R_{0} & R_{1} & R_{2} & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\R_{1} & R_{0} & R_{1} & R_{2} & 0 & 0 & 0 & 0 & 0 & 0 \\R_{2} & R_{1} & R_{0} & R_{1} & R_{2} & 0 & 0 & 0 & 0 & 0 \\0 & R_{2} & R_{1} & R_{0} & R_{1} & R_{2} & 0 & 0 & 0 & 0 \\0 & 0 & R_{2} & R_{1} & R_{0} & R_{1} & R_{2} & 0 & 0 & 0 \\0 & 0 & 0 & R_{2} & R_{1} & R_{0} & R_{1} & R_{2} & 0 & 0 \\0 & 0 & 0 & 0 & R_{2} & R_{1} & R_{0} & R_{1} & R_{2} & 0 \\0 & 0 & 0 & 0 & 0 & R_{2} & R_{1} & R_{0} & R_{1} & R_{2} \\0 & 0 & 0 & 0 & 0 & 0 & R_{2} & R_{1} & R_{0} & R_{1} \\0 & 0 & 0 & 0 & 0 & 0 & 0 & R_{2} & R_{1} & R_{0}\end{bmatrix}} & {{Equation}\mspace{20mu} 13}\end{matrix}$

In general, the bandwidth of R is per Equation 14.p=W−1  Equation 14

Using an approximate Cholesky approach, a sub-block of R, R_(sub), ofsize N_(col) by N_(col) is used. A typical size of R_(sub) is 2W−1 by2W−1, although other sized matrices may be used. The sub-block, R_(sub),is decomposed using Cholesky decomposition per Equation 15, (60).R_(sub)=G G^(H)  Equation 15

The Cholesky factor G is of size N_(col) by N_(col). An illustration ofa 5x 5G matrix with W=3 is per Equation 16.

$\begin{matrix}{G = \begin{bmatrix}G_{11} & 0 & 0 & 0 & 0 \\G_{21} & G_{22} & 0 & 0 & 0 \\G_{31} & G_{32} & G_{33} & 0 & 0 \\0 & G_{42} & G_{43} & G_{44} & 0 \\0 & 0 & G_{53} & G_{54} & G_{55}\end{bmatrix}} & {{Equation}\mspace{20mu} 16}\end{matrix}$G_(ij) is the element of the G matrix at the i^(th) column and j^(th)row. The G matrix is extended to an N_(S) by N_(S) matrix, G_(full), byright shifting the bottom row of G by one element for each row after thelast row of G, (62). For N_(S)=10, the illustration of Equation 16 isexpanded per Equation 17, (62).

                                Equation  17 $G_{full} = \begin{bmatrix}G_{11} & 0 & \; & \; & \; & \; & \; & \; & \; & \; \\G_{21} & G_{22} & {0\;} & \; & \; & \; & \; & \; & \; & \; \\G_{31} & G_{32} & G_{33} & 0 & \; & \; & \; & \; & \; & \; \\0 & G_{42} & G_{43} & G_{44} & 0 & \; & \; & \; & \; & \; \\\; & 0 & G_{53} & G_{54} & G_{55} & 0 & \; & \; & \; & \; \\\; & \; & 0 & G_{53} & G_{54} & G_{55} & 0 & \; & \; & \; \\\; & \; & \; & 0 & G_{53} & G_{54} & G_{55} & 0 & \; & \; \\\; & \; & \; & \; & 0 & G_{53} & G_{54} & G_{55} & 0 & \; \\\; & \; & \; & \; & \; & 0 & G_{53} & G_{54} & G_{55} & 0 \\\; & \; & \; & \; & \; & \; & 0 & G_{53} & G_{54} & G_{55}\end{bmatrix}$

The spread data vector is determined using forward and backwardsubstitution, (64). Forward substitution is used to determine y perEquation 18a for twice the chip rate sampling and Equation 18b for amultiple N of the chip rate sampling.G _(full) y=H ₁ ^(H) r ₁ +H ₂ ^(H) r ₂   Equation 18aG _(full) y=H ₁ ^(H) r ₁ +H ₂ ^(H) r ₂ + . . . +H _(N) ^(H) r _(n)  Equation 18bBackward substitution is subsequently used to solve for the spread datavector per Equation 19.G_(full) ^(H)d=y  Equation 19

After the spread data vector, d, is determined, each burst's data isdetermined by despreading, (66).

The complexity of approximate Cholesky decomposition, excludingdespreading, for twice the chip rate sampling is per Table 2.

TABLE 2 Operation Number of Calculations Calculating H^(H) H W(W + 1)Calculating Cholesky Decomposition$\frac{{N_{col}\left( {W - 1} \right)}^{2}}{2} + \frac{3{N_{col}\left( {W - 1} \right)}}{2} - \frac{\left( {W - 1} \right)^{3}}{3} - \left( {W - 1} \right)^{2} - \frac{2\left( {W - 1} \right)}{3}$Calculating H^(H)r 2N_(S)W Forward Substitution$\left\lbrack {N_{S} - \frac{\left( {W - 1} \right)}{2}} \right\rbrack W\mspace{14mu}{and}\mspace{14mu}{the}\mspace{14mu}{reciprocal}\mspace{14mu}{of}\mspace{14mu} N_{S}$real numbers Backward Substitution$\left\lbrack {N_{S} - \frac{\left( {W - 1} \right)}{2}} \right\rbrack W\mspace{14mu}{and}\mspace{14mu}{the}\mspace{14mu}{reciprocal}\mspace{14mu}{of}\mspace{14mu} N_{S}$real numbers

For a TDD burst type II, N_(S) is 1104 and for W is 57, performingapproximate banded Cholesky 200 times per second at twice the chip raterequires 272.56 MROPS. By contrast, an exact banded Cholesky approachrequires 906.92 MROPS. For chip rate sampling, the approximate bandedCholesky approach requires 221.5 MROPS.

Another approach for data detection uses a Toeplitz approach,(Levinson-Durbin type algorithm), which is explained in conjunction withFIG. 6. The R matrix of Equation 12a and 12b is reproduced here.

$\begin{matrix}{R = {{\left\lbrack {H_{1}^{H}H_{2}^{H}} \right\rbrack \cdot \begin{bmatrix}{H\; 1} \\{H\; 2}\end{bmatrix}} = {{H_{1}^{H}H_{1}} + {H_{2}^{H}H_{2}}}}} & {{Equation}\mspace{20mu} 12a}\end{matrix}$For an N-multiple of the chip rate, Equation 12b is used.

$\begin{matrix}{{R = {\left\lbrack {H_{1}^{H},{H_{2}^{H}\mspace{11mu}\cdots\mspace{11mu} H_{N}^{H}}} \right\rbrack\begin{bmatrix}H_{1} \\H_{2} \\| \\H_{N}\end{bmatrix}}}{or}{R = {\sum\limits_{i = 1}^{N}{H_{i}^{H}H_{i}}}}} & {{Equation}\mspace{20mu} 12b}\end{matrix}$

The R matrix is symmetric and Toeplitz with a bandwidth of p=W−1, (68).A left most upper corner of the R matrix, R(k), being a k by k matrix isdetermined as shown in Equation 20.

$\begin{matrix}{{R(k)} = \begin{bmatrix}R_{0} & R_{1} & \cdots & R_{k - 1} \\R_{1} & R_{0} & \; & \vdots \\\; & \; & ⋰ & \; \\R_{k - 1} & R_{k - 2} & \cdots & R_{0}\end{bmatrix}} & {{Equation}\mspace{20mu} 20}\end{matrix}$Additionally, another vector R_(k) is determined using elements of R,per Equation 21, (72).

$\begin{matrix}{R_{k} = {\begin{bmatrix}R_{1} \\R_{2} \\\vdots \\R_{k}\end{bmatrix}.}} & {{Equation}\mspace{20mu} 21}\end{matrix}$Bolding indicates a matrix including all elements up to its subscript.At stage k+1, the system is solved per Equation 22.R(k+1)d(k+1)=[H ^(H) r] _(k+1)  Equation 22[H^(H)r]_(k+1) is the first (k+1) components of H^(H)r. d(k+1) is brokeninto a vector d₁ (k+1) of length k and a scalar d₂(k+1) as per Equation23.

$\begin{matrix}{{d\left( {k + 1} \right)} = {\begin{bmatrix}{d_{1}\left( {k + 1} \right)} \\{d_{2}\left( {k + 1} \right)}\end{bmatrix}.}} & {{Equation}\mspace{20mu} 23}\end{matrix}$

The matrix R(k+1) as decomposed as per Equation 24.

$\begin{matrix}{{R\left( {k + 1} \right)} = {\begin{bmatrix}{R(k)} & \; & \; & \vdots & \; & \; & {E_{k}R_{k}} \\\cdots & \; & \; & \vdots & \; & \; & \cdots \\{R_{k}^{H}E_{k}} & \; & \; & \vdots & \; & \; & R_{0}\end{bmatrix}.}} & {{Equation}\mspace{20mu} 24}\end{matrix}$

E_(k) is an exchange matrix. The exchange matrix operates on a vector byreversing that vectors elements.

Using the Yule-Walker equation for linear prediction, Equation 25results, (78).

$\begin{matrix}{{\begin{bmatrix}{R\left( {k - 1} \right)} & \; & \; & \vdots & \; & \; & {E_{k - 1}R_{k - 1}} \\\cdots & \; & \; & \vdots & \; & \; & \cdots \\{R_{k - 1}^{H}E_{k - 1}} & \; & \; & \vdots & \; & \; & R_{0}\end{bmatrix}\begin{bmatrix}{y_{1}(k)} \\{y_{2}(k)}\end{bmatrix}} = {- \begin{bmatrix}R_{k - 1} \\R_{k}\end{bmatrix}}} & {{Equation}\mspace{20mu} 25}\end{matrix}$

Using order recursions, Equations 26, 27 and 28 result.

$\begin{matrix}{{y_{1}(k)} = {{y\left( {k - 1} \right)} + {{y_{2}(k)}E_{k - 1}{y\left( {k - 1} \right)}}}} & {{Equation}\mspace{20mu} 26} \\{{y_{2}(k)} = {- \frac{\left\lbrack {R_{k} + {R_{k - 1}^{H}E_{k - 1}{y\left( {k - 1} \right)}}} \right\rbrack}{\left\lbrack {1 + {R_{k - 1}^{H}{y\left( {k - 1} \right)}}} \right\rbrack}}} & {{Equation}\mspace{20mu} 27} \\{{y(k)} = \begin{bmatrix}{y_{1}(k)} \\{y_{2}(k)}\end{bmatrix}} & {{Equation}\mspace{20mu} 28}\end{matrix}$

Using y(k), d(k+1) is determined per Equations 29, 30 and 31, (74).

$\begin{matrix}{{d_{1}\left( {k + 1} \right)} = {{d(k)} + {{d_{2}\left( {k + 1} \right)}E_{k}{y(k)}}}} & {{Equation}\mspace{20mu} 29} \\{{d_{2}\left( {k + 1} \right)} = \left\lbrack \frac{\left( {H^{H}r} \right)_{k + 1} - {R_{k}^{H}E_{k}{d(k)}}}{1 + {R_{k}^{H}{y(k)}}} \right\rbrack} & {{Equation}\mspace{20mu} 30} \\{{d\left( {k + 1} \right)} = \begin{bmatrix}{d_{1}\left( {k + 1} \right)} \\{d_{2}\left( {k + 1} \right)}\end{bmatrix}} & {{Equation}\mspace{20mu} 31}\end{matrix}$(H^(H)r)_(k+1) is the (k+1)^(th) element of H^(H)r.

After properly initializing the recursions, the recursions are computedfor k=1, 2, . . . , N_(S)·d(N_(S)) is a solution to Equation 32, (74).Rd=H^(H)r  Equation 32

The spread data vector d is despread with the bursts' channelizationcodes to recover the data, (76).

The banded structure of R affects the recursions as follows. R(2) and R₂are per Equation 33.

$\begin{matrix}{{{R(2)} = \begin{bmatrix}R_{0} & R_{1} \\R_{1} & R_{0}\end{bmatrix}},{R_{2} = \begin{bmatrix}R_{1} \\R_{2}\end{bmatrix}}} & {{Equation}\mspace{20mu} 33}\end{matrix}$

The inner product calculations in Equations 27 and 30 require twomultiplications each. To illustrate, the R matrix of Equation 20 for k=6is per Equation 34.

$\begin{matrix}{{{R(6)} = \begin{bmatrix}R_{0} & \; & R_{1} & \; & R_{2} & \; & 0 & \; & 0 & \; & 0 \\R_{1} & \; & \; & \; & \; & \; & R_{2} & \; & 0 & \; & 0 \\R_{2} & \; & \; & \; & \; & \; & \; & \; & R_{2} & \; & 0 \\0 & \; & R_{2} & \; & \; & \; & \; & \; & \; & \; & R_{2} \\0 & \; & 0 & \; & R_{2} & \; & \; & \; & \; & \; & R_{1} \\0 & \; & 0 & \; & 0 & \; & R_{2} & \; & \; & \; & R_{0}\end{bmatrix}},{R_{6} = \begin{bmatrix}R_{1} \\R_{2} \\0 \\0 \\0 \\0\end{bmatrix}}} & {{Equation}\mspace{20mu} 34}\end{matrix}$

The number of non-zero elements in the vector R₆ is equal to thebandwidth, p, of the matrix R. When the inner product of R₆ ^(H)E₆y(k)in Equation 27 and the inner product R₆ ^(H)E₆d(k) in Equation 30 arecalculated, only p (and not k) multiplications are required. For therecursions of Equations 26 and 29, no computational reductions areobtained.

Table 3 shows the complexity in implementing the Toeplitz approach.

TABLE 3 Calculation # of Calculations MROPS Functions Executed Once1.3224 Per Burst Calculating H^(H)H Solving Yule-Walker for y$672\text{,}888 \times \frac{100}{10^{6}}$ 269.1552 Functions ExecutedTwice 100.68 Per Burst Calculating H^(H)r Solving R(k + 1)d(k + 1)H^(H)r$672\text{,}888 \times \frac{200}{10^{6}}$ 538.3104The total MROPs for the Toeplitz approach for a TDD burst type is909.4656 MROPs for twice the chip rate sampling and 858.4668 MROPs forchip rate sampling.

Another approach for data detection uses fast fourier transforms (FFTs),which is explained using FIG. 7. If chip rate sampling is used, thechannel matrix H is square except for edge effects. Using a circulantapproximation for the H matrix, a FFT of the received vector, r, and thechannel vector, H, to obtain the data estimate is used.

For a multiple of the chip rate sampling, such as twice the chip rate,the H matrix is not square or circulant. However, a submatrix, shown bydotted lines, of the channel correlation matrix R =H^(H) H matrix ofEquation 13, (84), as shown for Equation 35a is circulant.

$\begin{matrix}{R = \begin{bmatrix}R_{0} & \; & R_{1} & \; & R_{2} & \; & 0 & \; & 0 & \; & 0 & \; & 0 & \; & 0 & \; & 0 & \; & 0 \\R_{1} & \; & R_{0} & \; & R_{1} & \; & R_{2} & \; & 0 & \; & 0 & \; & 0 & \; & 0 & \; & 0 & \; & 0 \\\cdots & \; & \cdots & \; & \cdots & \; & \cdots & \; & \cdots & \; & \cdots & \; & \cdots & \; & \cdots & \; & \cdots & \; & \cdots \\R_{2} & \; & R_{1} & \; & R_{0} & \; & R_{1} & \; & R_{2} & \; & 0 & \; & 0 & \; & 0 & \; & 0 & \; & 0 \\0 & \; & R_{2} & \; & R_{1} & \; & R_{0} & \; & R_{1} & \; & R_{2} & \; & 0 & \; & 0 & \; & 0 & \; & 0 \\0 & \; & 0 & \; & R_{2} & \; & R_{1} & \; & R_{0} & \; & R_{1} & \; & R_{2} & \; & 0 & \; & 0 & \; & 0 \\0 & \; & 0 & \; & {0\;} & \; & R_{2} & \; & R_{1} & \; & R_{0} & \; & R_{1} & \; & R_{2} & \; & 0 & \; & 0 \\0 & \; & 0 & \; & 0 & \; & 0 & \; & R_{2} & \; & R_{1} & \; & R_{0} & \; & R_{1} & \; & R_{2} & \; & 0 \\0 & \; & 0 & \; & 0 & \; & 0 & \; & 0 & \; & R_{2} & \; & R_{1} & \; & R_{0} & \; & R_{1} & \; & R_{2} \\\cdots & \; & \cdots & \; & \cdots & \; & \cdots & \; & \cdots & \; & \cdots & \; & \cdots & \; & \cdots & \; & \cdots & \; & \cdots \\0 & \; & 0 & \; & 0 & \; & 0 & \; & 0 & \; & 0 & \; & R_{2} & \; & R_{1} & \; & R_{0} & \; & R_{1} \\0 & \; & 0 & \; & 0 & \; & 0 & \; & 0 & \; & 0 & \; & 0 & \; & R_{2} & \; & R_{1} & \; & R_{0}\end{bmatrix}} & {{Equation}\mspace{20mu} 35a}\end{matrix}$For an N-multiple of the chip rate sampling, the channel correlationmatrix is determined per Equation 35b.

$\begin{matrix}{R = {{\left\lbrack {H_{1}^{H}H_{2}^{H}{\cdots H}_{N}^{H}} \right\rbrack\begin{bmatrix}H_{1} \\H_{2} \\❘ \\H_{N}\end{bmatrix}} = {\sum\limits_{i - 1}^{N}{H_{i}^{H}H_{i}}}}} & {{Equation}\mspace{20mu} 35b}\end{matrix}$

By approximating the R matrix as being circulant, Equations 36, 37 and38 are used.

$\begin{matrix}{{R^{H} = {D\;\Delta\; D^{H}}}{\Delta = {{diag}\left( {D(R)}_{1} \right)}}} & {{Equation}\mspace{20mu} 36} \\{d^{\bigwedge} = {{diag}\left( {D\begin{bmatrix}R_{0} \\R_{1} \\R_{2} \\0 \\\vdots \\0\end{bmatrix}} \right)}} & {{Equation}\mspace{20mu} 37}\end{matrix}$(R)₁ is the first column of the R matrix expanded to a diagonal matrix.Although described using the first column, this approach can be modifiedto use any column of the R matrix, (86). However, it is preferred to usea column having the most non-zero elements of any column, such as R₂,R₁, R₀, R₁, R₂. These columns are typically any column at least Wcolumns from both sides, such as any column between and including W andN_(S)−W−1. Equations 38 and 39 are used in a zero-forcing equalizationapproach.Rd^=H^(H)r  Equation 38d^=R⁻¹(H^(H)r)  Equation 39

Since D is an orthogonal discrete fourier transform (DFT) matrix,Equations 40, 41 and 42 result.

$\begin{matrix}{{D^{H}D} = {N_{S}I}} & {{Equation}\mspace{20mu} 40} \\{D^{- 1} = {\left( \frac{1}{N_{S}} \right)D^{H}}} & {{Equation}\mspace{20mu} 41} \\{R^{- 1} = {\frac{1}{N_{S}}D^{H}\Delta^{- 1}\frac{1}{N_{S}}D}} & {{Equation}\mspace{20mu} 42}\end{matrix}$Accordingly, d^ can be determined using a fourier transform perEquations 43, 44 and 45a.

$\begin{matrix}{R^{- 1} = {\frac{1}{N_{S}^{2}}D^{H}{\Delta^{- 1}\left\lbrack {D\left( {H^{H}r} \right)} \right\rbrack}}} & {{Equation}\mspace{20mu} 43} \\{{D^{H}d^{\bigwedge}} = {\frac{1}{N_{S}}{\Delta^{- 1}\left\lbrack {F\left( {H^{H}r} \right)} \right\rbrack}}} & {{Equation}\mspace{20mu} 44} \\{{F\left( d^{\bigwedge} \right)} = \frac{F\left( {H^{H}r} \right)}{N_{S}{F\left( (R)_{1} \right)}}} & {{Equation}\mspace{20mu} 45a}\end{matrix}$(·)₁ is the first column, although an analogous equation can be used forany column of R. F(·) denotes a fourier transform function. F(H^(H)r) ispreferably calculated using FFTs per Equation 45b.F(H ^(H) r)=N _(c) [F(h ₁)F(r ₁)+ . . . +F(h _(N))F(r _(n))]  Equation45bTaking the inverse fourier transform F⁻¹(·), of the result of Equation45a produces the spread data vector, (88). The transmitted data can berecovered by despreading using the appropriate codes, (90).

The complexity of this FFT approach is shown in Table 4.

TABLE 4 Functions Executed Once Per Burst Calculation # of CalculationsMROPs Calculating H^(H) H  1.3224 F([R]₁) · N_(S) log₂ N_(S)$\text{11160} \times \frac{100}{10^{6}}$  4.4640 Functions Executed 38Twice Per Burst Calculating H^(H)r by FFT Calculating Equation 45 0.8832 F⁻¹ (d) · N_(S) log₂ N_(S)  8.9280 Total 55 MROPS

The FFT approach is less complex than the other approaches. However, aperformance degradation results from the circulant approximation.

Another approach to use FFTs to solve for the data vector for a multipleof the chip rate sampling combines the samples by weighing, as explainedusing FIG. 8. To illustrate for twice the chip rate sampling, r₁ is theeven and r₂ is the odd samples. Each element of r₁, such as a firstelement r₁(0), is weighted and combined with a corresponding element ofr₂, such as r₂(0) per Equation 46.r _(eff)(0)=W ₁ r ₁(0)+W ₂ r ₂(0)  Equation 46r_(eff)(0) is the effectively combined element of an effectivelycombined matrix, r_(eff). W₁ and W₂ are weights. For N-times the chiprate sampling, Equation 47 is used.r _(eff)(0)=W ₁ r ₁(0)+ . . . +W _(n) r _(n)(0)  Equation 47Analogous weighting of the channel response matrices, H₁ to H_(n), isperformed to produce H_(eff), (92). As a result, Equation 3 becomesEquation 48.r _(eff) =H _(eff) d+n  Equation 48The resulting system is an N_(S) by N_(S) system of equations readilysolvable by FFTs per Equation 49, (94).

$\begin{matrix}{{F(d)} = \frac{F\left( r_{reff} \right)}{F\left( \left( H_{eff} \right)_{1} \right)}} & {{Equation}\mspace{20mu} 49}\end{matrix}$

Using the inverse fourier transform, the spread data vector isdetermined. The bursts' data is determined by despreading the spreaddata vector using the bursts'code, (96). Although Equation 49 uses thefirst column of H_(eff), the approach can be modified to use anyrepresentative column of, H_(eff).

Another approach using FFTs uses zero padding, which is explained usingFIG. 9. Equation 5 is modified by zero padding the data vector so thatevery other element, such as the even elements are zero, (98). Themodified d matrix is d{tilde over ( )}. The H matrix is also expanded toform H{tilde over ( )}. H matrix is expanded by repeating each column tothe right of that column and shifting each element down one row and zeropadding the top of the shifted column. An illustration of such a systemfor twice the chip rate sampling, W=3 and N_(S)=4 is per Equation 49a.

$\begin{matrix}{\begin{bmatrix}{r_{1}(0)} \\{r_{2}(0)} \\{r_{1}(1)} \\{r_{2}(1)} \\{r_{1}(2)} \\{r_{2}(2)} \\{r_{1}(3)} \\{r_{2}(3)}\end{bmatrix} = {{\left\lbrack {\quad\begin{matrix}{h_{1}(0)} & \; & \; & \; & \; & \; & \; & \; \\{h_{2}(0)} & {h_{1}(0)} & \; & \; & \; & \; & \; & \; \\{h_{1}(1)} & {h_{2}(0)} & {h_{1}(0)} & \; & \; & \; & \; & \; \\{h_{2}(1)} & {h_{1}(1)} & {h_{2}(0)} & {h_{1}(0)} & \; & \; & \; & \; \\{h_{1}(2)} & {h_{2}(1)} & {h_{1}(1)} & {h_{2}(0)} & {h_{1}(0)} & {h_{2}(0)} & \; & \; \\{h_{2}(2)} & {h_{1}(2)} & {h_{2}(1)} & {h_{1}(1)} & {h_{2}(0)} & {h_{1}(0)} & {h_{2}(0)} & \; \\0 & {h_{2}(2)} & {h_{1}(2)} & {h_{2}(1)} & {h_{1}(1)} & {h_{2}(0)} & {h_{1}(0)} & {h_{2}(0)} \\0 & 0 & {h_{2}(2)} & {h_{1}(2)} & {h_{2}(1)} & {h_{1}(1)} & {h_{2}(1)} & {h_{1}(1)}\end{matrix}\quad} \right\rbrack \cdot \begin{bmatrix}{d(0)} \\0 \\{d(1)} \\0 \\{d(2)} \\0 \\{d(3)} \\0\end{bmatrix}} + n}} & {{Equation}\mspace{20mu} 49a}\end{matrix}$

For an N-multiple of the chip rate, Equation 49b is used as shown forsimplicity for N_(S)=3.

$\begin{matrix}{\left\lbrack \begin{matrix}{r_{1}(0)} \\{r_{2}(0)} \\❘ \\{r_{N}(0)} \\{r_{1}(1)} \\{r_{2}(1)} \\❘ \\{r_{N}(1)} \\{r_{1}(2)} \\{r_{2}(2)} \\❘ \\{r_{N - 1}(2)} \\{r_{N}(2)}\end{matrix} \right\rbrack = {{\left\lbrack \begin{matrix}{h_{1}(0)} & 0 & \cdots & 0 \\{h_{2}(0)} & {h_{1}(0)} & \cdots & 0 \\❘ & ❘ & \cdots & ❘ \\{h_{N}(0)} & {h_{N - 1}(0)} & \cdots & 0 \\{h_{1}(1)} & {h_{N}(0)} & \cdots & 0 \\{h_{2}(1)} & {h_{1}(1)} & \cdots & 0 \\❘ & ❘ & \cdots & ❘ \\{h_{N}(1)} & {h_{N - 1}(1)} & \cdots & 0 \\0 & {h_{N}(1)} & \cdots & 0 \\0 & 0 & \cdots & 0 \\❘ & ❘ & \cdots & ❘ \\0 & 0 & \cdots & {h_{2}(0)} \\0 & 0 & \cdots & {h_{1}(0)}\end{matrix} \right\rbrack \cdot \left\lbrack \begin{matrix}{d(0)} \\0 \\| \\0 \\0 \\{d(1)} \\0 \\0 \\| \\0 \\{d(2)} \\0 \\| \\0 \\0\end{matrix} \right\rbrack} + n}} & {{Equation}\mspace{20mu} 49b}\end{matrix}$In general, the H{tilde over ( )} matrix for an N multiple is (N N_(S))by (N N_(S)). The matrix H{tilde over ( )} is square, Toeplitz andapproximately circulant and is of size 2N_(S) by 2N_(S). The zeroforcing solution is per Equation 50, (100).

$\begin{matrix}{{F\left( d^{\sim} \right)} = \frac{F(r)}{F\left( \left( H^{\sim} \right)_{1} \right)}} & {{Equation}\mspace{20mu} 50}\end{matrix}$

A column other than the first column may be used in an analogous FFT.Furthermore, since any column may be used, a column from the originalchannel response matrix, H or an estimated expanded column of theH{tilde over ( )} derived from a column of H. Using every N^(th) valuefrom d{tilde over ( )}, d is estimated. Using the appropriate codes, dis despread to recover the data, (102).

1. A method of processing code division multiple access communicationscomprising: receiving a combined signal of a plurality of data signalsover a shared spectrum; sampling the combined signal at a multiple of atransmission chip rate; estimating a channel response for the combinedsignal at the multiple of the chip rate; determining a first element ofa spread data vector using the combined signal samples and the estimatedchannel response; using a factor from the first element determination todetermine remaining elements of the spread data vector; and estimatingdata of the data signals using the spread data vector.
 2. The method ofclaim 1 wherein the factor is derived using the channel response and thefactor is stored prior to the remaining elements determination.
 3. Themethod of claim 2 wherein the sampling is at N-times the chip rate andthe factor is v^(H) and a first element of each channel response matrixcorresponding to each N-multiple of the chip rate is h₁(0), h₂(0) . . .h_(N)(0) and$v^{H} = {{\left\{ {\left\lbrack {{h_{1}(0)}\mspace{14mu}\ldots\mspace{14mu}{h_{N}(0)}} \right\rbrack\begin{bmatrix}{h_{1}(0)} \\\vdots \\{h_{N}(0)}\end{bmatrix}} \right\}^{- 1}\left\lbrack {{h_{1}(0)}\mspace{14mu}\ldots\mspace{14mu}{h_{N}(0)}} \right\rbrack}.}$4. The method of claim 3 wherein an i^(th) element of the spread datavector, d^(i), other than the first element is determined per${d^{\bigwedge}(i)} = {v^{H}\left\{ {\begin{bmatrix}{r_{1}(i)} \\❘ \\{r_{N}(i)}\end{bmatrix} - {\begin{bmatrix}{h_{1}(i)} \\❘ \\{h_{N}(i)}\end{bmatrix}{\hat{d}(0)}} - {\sum\limits_{j = 1}^{i - 1}{\begin{bmatrix}{h_{1}(j)} \\❘ \\{h_{N}(j)}\end{bmatrix} \cdot {{d\left( {i - j - 1} \right)}.}}}} \right.}$
 5. Themethod of claim 1 wherein the determining of a spread data vectorincludes: determining a cross correlation matrix using the estimatedchannel response; and determining the spread data vector using orderrecursions by determining a first spread data estimate using an elementfrom the cross correlation matrix and recursively determining furtherestimates using additional elements of the cross correlation matrix. 6.The method of claim 5 wherein the spread data estimates are determinedby combining a scalar and a vector portions of the spread dataestimates.
 7. The method of claim 5 wherein the spread data vectordetermining is performed using Yule-Walker equations.
 8. The method ofclaim 5 wherein the first spread data estimate is determined using anelement of an upper left corner of the cross correlation matrix.
 9. Amethod of processing code division multiple access communicationscomprising: receiving a combined signal of a plurality of data signalsover a shared spectrum; sampling the combined signal at a multiple of atransmission chip rate; estimating a channel response for the combinedsignal at the multiple of the chip rate; determining a spread datavector using the combined signal samples and the estimated channelresponse including: determining a cross correlation matrix using theestimated channel response; selecting a subblock of the crosscorrelation matrix; determining a Cholesky factor for the subblock;extending the Cholesky factor; and determining the spread data vectorusing the extended Cholesky factor, a version of the channel responseand the samples: and estimating data of the data signals using thespread data vector.
 10. The method of claim 9 wherein the channelresponse is estimated as a channel response matrix and the crosscorrelation matrix is the hermetian of the channel response matrixmultiplied by the channel response matrix.
 11. The method of claim 10wherein the sampling is at twice the chip rate, the channel responsematrix has even matrix samples H₁ and odd matrix samples H₂.
 12. Themethod of claim 10 wherein the sampling is at N-times the chip rate, thechannel response matrix has N sets of matrix samples, H₁, H₂,. . .H_(N).
 13. The method of claim 9 wherein the subblock has 2W-1 by 2W-1elements of the cross correlation matrix and W is a length of theimpulse response.
 14. The method of claim 9 wherein the determining thespread data vector uses forward and backward substitution.
 15. A methodof processing code division multiple access communications comprising:receiving a combined signal of a plurality of data signals over a sharedspectrum; sampling the combined signal at a multiple of a transmissionchip rate; estimating a channel response for the combined signal at themultiple of the chip rate; determining a spread data vector using thecombined signal samples and the estimated channel response including:determining a column of a channel correlation matrix using the estimatedchannel response; and determining the spread data vector using thedetermined column, the estimated channel response, the received combinedsignal and a fourier transform; and estimating data of the data signalsusing the spread data vector.
 16. The method of claim 15 wherein thedetermined column is a first column of the channel correlation matrix.17. The method of claim 15 wherein a length of an impulse response ofthe combined signal is W and the determined column is at least W-1columns from edges of the channel correlation matrix.
 18. The method ofclaim 15 wherein the determining the spread data vector uses a fouriertransform of a hermetian of a channel response matrix multiplied by thereceived combined signal.
 19. The method of claim 15 wherein thedetermining the spread data vector uses a fourier transform of thedetermined column and the determined column fourier transform ismultiplied by a number of spread chips transmitted in the data signals.20. A method of processing code division multiple access communicationscomprising: receiving a combined signal of a plurality of data signalsover a shared spectrum; sampling the combined signal at a multiple of atransmission chip rate; estimating a channel response for the combinedsignal at the multiple of the chip rate; determining a spread datavector using the combined signal samples and the estimated channelresponse including: combining the multiple chip rate samples aseffective chip rate samples; combining the multiple chip rate estimatedchannel response as an effective chip rate channel response; anddetermining a spread data vector using the effective samples, theeffective channel response and a fourier transform; and estimating dataof the data signals using the spread data vector.
 21. The method ofclaim 20 wherein the multiple chip rate samples and the multiple chiprate estimated channel response are weighted prior to combining.
 22. Themethod of claim 20 wherein the effective chip rate channel response isan effective channel response matrix.
 23. The method of claim 20 whereinthe determining of the spread data vector uses a column of a channelresponse matrix derived using the effective chip rate response.
 24. Themethod of claim 20 wherein the column is a first column of the channelresponse matrix.
 25. The method of claim 20 wherein the spread datavector determining further uses an inverse fourier transform.
 26. Amethod of processing code division multiple access communicationscomprising: receiving a combined signal of a plurality of data signalsover a shared spectrum; sampling the combined signal at a multiple of atransmission chip rate; estimating a channel response as a channelresponse matrix for the combined signal at the multiple of the chiprate; determining a spread data vector using the combined signal samplesand the estimated channel response including: determining a paddedversion of a spread data vector of a size corresponding to the muhiplechip rate using a column of the channel response matrix, the estimatedchannel response matrix, the samples and a fourier transform; andestimating the spread data vector by eliminating elements of the paddedversion so that the estimated spread data vector is of a sizecorresponding to the chip; and estimating data of the data signals usingthe spread data vector.
 27. The method of claim 26 wherein the samplingis at N-times the chip rate and the estimated spread data vectorcomprises elements of the padded version spaced by N elements.
 28. Themethod of claim 27 further comprising determining an expanded version ofthe channel response matrix by adding N-1 columns for every column ofthe channel response matrix.
 29. A wireless communication station forcode division multiple access communications comprising: a receiverconfigured to receive a combined signal of a plurality of data signalsover a shared spectrum; a sampling device configured to sample thecombined signal at a multiple of a transmission chip rate; channelresponse estimation circuitry configured to estimate a channel responsefor the combined signal at the multiple of the chip rate; spread datavector determination circuitry configured to determine a spread datavector using the combined signal samples and the estimated channelresponse by determining a first element of a spread data vector usingthe combined signal samples and the estimated channel response and byusing a factor from the first element determination to determineremaining elements of the spread data vector; and data signal estimationcircuitry configured to estimate data of the data signals using thespread data vector.
 30. The communication station of claim 29 whereinthe spread data vector determination circuitry is configured to derivethe factor using the channel response and to store the factor prior tothe remaining elements determination.
 31. The communication station ofclaim 30 wherein the sampling device is configured to sample at N-timesthe chip rate and the spread data vector determination circuitry isconfigured to determine the factor as v^(H) and a first element of eachchannel response matrix corresponding to each N-multiple of the chiprate as h₁(0), h₂(0). . . h_(N)(0) and$v^{H} = {{\left\{ {\left\lbrack {{h_{1}(0)}\mspace{14mu}\ldots\mspace{14mu}{h_{N}(0)}} \right\rbrack\begin{bmatrix}{h_{1}(0)} \\\vdots \\{h_{N}(0)}\end{bmatrix}} \right\}^{- 1}\left\lbrack {{h_{1}(0)}\mspace{14mu}\ldots\mspace{14mu}{h_{N}(0)}} \right\rbrack}.}$32. The communication station of claim 31 wherein the spread data vectordetermination circuitry is configured to determine an i^(th) element ofthe spread data vector, d^(i), other than the first element per${d^{\bigwedge}(i)} = {v^{H}\left\{ {\begin{bmatrix}{r_{1}(i)} \\❘ \\{r_{N}(i)}\end{bmatrix} - {\begin{bmatrix}{h_{1}(i)} \\❘ \\{h_{N}(i)}\end{bmatrix}{\hat{d}(0)}} - {\sum\limits_{j = 1}^{i - 1}{\begin{bmatrix}{h_{1}(j)} \\❘ \\{h_{N}(j)}\end{bmatrix} \cdot {{d\left( {i - j - 1} \right)}.}}}} \right.}$ 33.The communication station of claim 29 wherein the spread data vectordetermination circuitry is configured to determine a cross correlationmatrix using the estimated channel response and to determine the spreaddata vector using order recursions by determining a first spread dataestimate using an element from the cross correlation matrix andrecursively determining further estimates using additional elements ofthe cross correlation matrix.
 34. The communication station of claim 33wherein the spread data vector determination circuitry is configured todetermine the spread data estimates by combining a scalar and a vectorportions of the spread data estimates.
 35. The communication station ofclaim 33 wherein the spread data vector determination circuitry isconfigured to determine the spread data vector using Yule-Walkerequations.
 36. The communication station of claim 33 wherein the spreaddata vector determination circuitry is configured to determine the firstspread data estimate using an element of an upper left corner of thecross correlation matrix.
 37. The communication station of claim 29configured as a base station for a third generation partnership project(3GPP) universal terrestrial radio access (UTRA) system.
 38. Thecommunication station of claim 29 configured as a user equipment for athird generation partnership project (3GPP) universal terrestrial radioaccess (UTRA) system.
 39. A wireless communication station for codedivision multiple access communications comprising: a receiverconfigured to receive a combined signal of a plurality of data signalsover a shared spectrum; a sampling device configured to sample thecombined signal at a multiple of a transmission chip rate; channelresponse estimation circuitry configured to estimate a channel responsefor the combined signal at the multiple of the chip rate; spread datavector determination circuitry configured to determine a crosscorrelation matrix using the estimated channel response, to select asubblock of the cross correlation matrix, to determine a Cholesky factorfor the subblock, to extend the Cholesky factor and to determine aspread data vector using the extended Cholesky factor, a version of thechannel response and the samples; and data signal estimation circuitryconfigured to estimate data of the data signals using the spread datavector.
 40. The communication station of claim 39 wherein the channelresponse estimation circuitry is configured to estimate the channelresponse as a channel response matrix and the spread data vectordetermination circuitry is configured to determine the cross correlationmatrix as the hermetian of the channel response matrix multiplied by thechannel response matrix.
 41. The communication station of claim 40wherein the sampling device is configured to sample at twice the chiprate and the channel response estimation circuitry is configured toestimate the channel response as a channel response matrix having evenmatrix samples H₁ and odd matrix samples H₂.
 42. The communicationstation of claim 40 wherein the sampling device is configured to sampleat N-times the chip rate and the channel response estimation circuitryis configured to estimate the channel response as a channel responsematrix having N sets of matrix samples, H₁, H₂, . . . H_(N).
 43. Thecommunication station of claim 39 wherein the spread data vectordetermination circuitry is configured to determine the subblock with2W-1 by 2W-1 elements of the cross correlation matrix and W as a lengthof the impulse response.
 44. The communication station of claim 39wherein the spread data vector determination circuitry is configured todetermine the spread data vector using forward and backwardsubstitution.
 45. The communication station of claim 39 configured as auser equipment for a third generation partnership project (3GPP)universal terrestrial radio access (UTRA) system.
 46. A wirelesscommunication station for code division multiple access communicationscomprising: a receiver configured to receive a combined signal of aplurality of data signals over a shared spectrum; a sampling deviceconfigured to sample the combined signal at a multiple of a transmissionchip rate; channel response estimation circuitry configured to estimatea channel response for the combined signal at the multiple of the chiprate; spread data vector determination circuitry configured to determinea column of a channel correlation matrix using the estimated channelresponse and to determine a spread data vector using the determinedcolumn, the estimated channel response, the received combined signal anda fourier transform; and data signal estimation circuitry configured toestimate data of the data signals using the spread data vector.
 47. Thecommunication station of claim 46 wherein the spread data vectordetermination circuitry is configured to determine the determined columnas a first column of the channel correlation matrix.
 48. Thecommunication station of claim 46 wherein the spread data vectordetermination circuitry is configured to determine a length of animpulse response of the combined signal as W and the determined columnas at least W-1 columns from edges of the channel correlation matrix.49. The communication station of claim 46 wherein the spread data vectordetermination circuitry is configured to determine the spread datavector using a fourier transform of a hermetian of a channel responsematrix multiplied by the received combined signal.
 50. The communicationstation of claim 46 wherein the spread data vector determinationcircuitry is configured to determine the spread data vector using afourier transform of the determined column where the determined columnfourier transform is multiplied by a number of spread chips transmittedin the data signals.
 51. The communication station of claim 46configured as a user equipment for a third generation partnershipproject (3GPP) universal terrestrial radio access (UTRA) system.
 52. Awireless communication station for code division multiple accesscommunications comprising: a receiver configured to receive a combinedsignal of a plurality of data signals over a shared spectrum; a samplingdevice configured to sample the combined signal at a multiple of atransmission chip rate; channel response estimation circuitry configuredto estimate a channel response for the combined signal at the multipleof the chip rate; spread data vector determination circuitry configuredto combine the multiple chip rate samples as effective chip ratesamples, to combine the multiple chip rate estimated channel response asan effective chip rate channel response, and to determine a spread datavector using the effective samples, the effective channel response and afourier transform; and data signal estimation circuitry configured toestimate data of the data signals using the spread data vector.
 53. Thecommunication station of claim 52 wherein the spread data vectordetermination circuitry is configured to weight the multiple chip ratesamples and the multiple chip rate estimated channel response prior tocombining.
 54. The communication station of claim 52 wherein the spreaddata vector determination circuitry is configured to determine theeffective chip rate channel response as an effective channel responsematrix.
 55. The communication station of claim 52 wherein the spreaddata vector determination circuitry is configured to determine thespread data vector using a column of a channel response matrix derivedusing the effective chip rate response.
 56. The communication station ofclaim 52 wherein the spread data vector determination circuitry isconfigured to determine the column as a first column of the channelresponse matrix.
 57. The communication station of claim 52 wherein thespread data vector determination circuitry is configured to determinethe spread data vector using an inverse fourier transform.
 58. Thecommunication station of claim 52 configured as a user equipment for athird generation partnership project (3GPP) universal terrestrial radioaccess (UTRA) system.
 59. A wireless communication station configuredfor use in receiving a plurality of data signals concurrentlytransmitted at a predetermined chip rate from a transmitter site over ashared spectrum in a code division multiple access communication system,the communication station comprising: a receiver configured to receive acombined signal of the plurality of concurrently transmitted datasignals over the shared spectrum; a sampling device configured to samplethe combined signal at a multiple of the chip rate; channel responseestimation circuitry configured to estimate a channel response for thecombined signal at the multiple of the chip rate; spread data vectordetermination circuitry configured to determine a spread data vectorusing the combined signal samples and the estimated channel response;and data signal estimation circuitry configured to estimate data of thedata signals using the spread data vector by despreading the spread datavector, wherein: the channel response estimation circuitry is configuredto estimate the channel response as a channel response matrix for thecombined signal at the multiple of the chip rate and the spread datavector determination circuitry is configured to determine a paddedversion of a spread data vector of a size corresponding to the multiplechip rate using a column of the channel response matrix, the estimatedchannel response matrix, the samples and a fourier transform, and toestimate the spread data vector by eliminating elements of the paddedversion so that the estimated spread data vector is of a sizecorresponding to the chip rate.
 60. The communication station of claim59 wherein the sampling device is configured to sample at N-times thechip rate, and the spread data vector determination circuitry isconfigured to determine the estimated spread data vector as elements ofthe padded version spaced by N elements.
 61. The communication stationof claim 60 wherein the spread data vector determination circuitry isconfigured to determine an expanded version of the channel responsematrix by adding N-1 columns for every column of the channel responsematrix.
 62. The communication station of claim 59 configured as a userequipment for a third generation partnership project (3GPP) universalterrestrial radio access (UTRA) system.